// 1.按需导入 API 接口
import { getUserAPI } from '@/api/user.js'
export default {
  // 开启命名空间
  namespaced: true,

  state() {
    return {
      // 登录成功后的token 的值
      token: '',
      user: {}
    }
  },
  // 函数用来修改页面数据
  mutations: {
    updateToken(state, token) {
      state.token = token
    },
    // 更新vuex 中的 user 数据
    updateUser(state, obj) {
      state.user = obj
    }
  },
  // 异步操作
  actions: {
    // 2.封装获取用户信息的 action 函数
    async initUser(ctx) {
      // 2.1调用接口,获取用户的信息
      const { data: res } = await getUserAPI()
      // 判断接口是否调用成功
      if (res.code === 0) {
        // TODO:调用 mutation 函数,转存数据到state中
        ctx.commit('updateUser', res.data)
      }
    }
  }
}
